import { http } from '@/common/service/service.js'

const productionPlan = {
  // 获取生产计划列表（分页）
  list(params) {
    return http.get('/mes/plan/list', { params })
  },

  // 获取可领取计划
  getAvailablePlans(params) {
    return http.get('/mes/plan/available', { params })
  },

  // 获取我的计划
  getMyPlans(params) {
    return http.get('/mes/plan/my', { params })
  },

  // 获取历史计划
  getHistoryPlans(params) {
    return http.get('/mes/plan/history', { params })
  },

  // 领取计划
  claimPlan(data) {
    return http.post('/mes/plan/claim', data)
  },

  // 开始计划
  startPlan(data) {
    return http.post('/mes/plan/start', data)
  },

  // 暂停计划
  pausePlan(data) {
    return http.post('/mes/plan/pause', data)
  },

  // 恢复计划
  resumePlan(data) {
    return http.post('/mes/plan/resume', data)
  },

  // 完成计划
  completePlan(data) {
    return http.post('/mes/plan/complete', data)
  },

  // 获取计划详情
  getPlanDetail(planId) {
    return http.get(`/mes/plan/queryById?id=${planId}`)
  },

  // 创建生产计划
  add(data) {
    return http.post('/mes/plan/add', data)
  },

  // 编辑生产计划
  edit(data) {
    return http.put('/mes/plan/edit', data)
  },

  // 删除生产计划
  delete(id) {
    return http.delete(`/mes/plan/delete?id=${id}`)
  },

  // 批量删除生产计划
  deleteBatch(ids) {
    return http.delete('/mes/plan/deleteBatch', { data: { ids } })
  },

  // 获取计划统计
  getPlanStats(params) {
    return http.get('/mes/plan/stats', { params })
  },

  // 根据任务领取人获取参与的计划列表
  getPlansByTaskOwnership(params) {
    return http.get('/mes/plan/byTaskOwnership', { params })
  }
}

export { productionPlan }
export default productionPlan
